#include "MSBlast.h"
#include "DeNovoDp.h"
#include "PrmGraph.h"
#include "AllScoreModels.h"

const float gapAaProbs[][8] = {
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.750,0.250,0.000,0.000,0.000,0.000,0.000},
{0.0,0.500,0.500,0.000,0.000,0.000,0.000,0.000},
{0.0,0.667,0.333,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.500,0.500,0.000,0.000,0.000,0.000,0.000},
{0.0,0.500,0.500,0.000,0.000,0.000,0.000,0.000},
{0.0,0.600,0.400,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.333,0.667,0.000,0.000,0.000,0.000,0.000},
{0.0,0.333,0.667,0.000,0.000,0.000,0.000,0.000},
{0.0,0.333,0.667,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.889,0.111,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.000,0.857,0.143,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.800,0.200,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.063,0.750,0.188,0.000,0.000,0.000,0.000},
{0.0,0.143,0.857,0.000,0.000,0.000,0.000,0.000},
{0.0,0.143,0.857,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.700,0.300,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.800,0.200,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.769,0.231,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.700,0.300,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.727,0.273,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.714,0.286,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.714,0.286,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.526,0.474,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.625,0.375,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.455,0.545,0.000,0.000,0.000,0.000},
{0.0,0.000,0.543,0.429,0.029,0.000,0.000,0.000},
{0.0,0.000,0.692,0.231,0.077,0.000,0.000,0.000},
{0.0,0.000,0.484,0.484,0.032,0.000,0.000,0.000},
{0.0,0.000,0.333,0.667,0.000,0.000,0.000,0.000},
{0.0,0.000,0.478,0.522,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.700,0.300,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.276,0.724,0.000,0.000,0.000,0.000},
{0.0,0.000,0.276,0.724,0.000,0.000,0.000,0.000},
{0.0,0.000,0.302,0.623,0.075,0.000,0.000,0.000},
{0.0,0.000,0.333,0.500,0.167,0.000,0.000,0.000},
{0.0,0.000,0.346,0.577,0.077,0.000,0.000,0.000},
{0.0,0.000,0.357,0.643,0.000,0.000,0.000,0.000},
{0.0,0.000,0.526,0.474,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.143,0.857,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.087,0.913,0.000,0.000,0.000,0.000},
{0.0,0.000,0.087,0.913,0.000,0.000,0.000,0.000},
{0.0,0.000,0.125,0.750,0.125,0.000,0.000,0.000},
{0.0,0.000,0.160,0.600,0.240,0.000,0.000,0.000},
{0.0,0.000,0.206,0.706,0.088,0.000,0.000,0.000},
{0.0,0.000,0.233,0.767,0.000,0.000,0.000,0.000},
{0.0,0.000,0.204,0.722,0.074,0.000,0.000,0.000},
{0.0,0.000,0.091,0.545,0.364,0.000,0.000,0.000},
{0.0,0.000,0.184,0.711,0.105,0.000,0.000,0.000},
{0.0,0.000,0.222,0.778,0.000,0.000,0.000,0.000},
{0.0,0.000,0.462,0.538,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.720,0.280,0.000,0.000,0.000,0.000},
{0.0,0.000,0.462,0.538,0.000,0.000,0.000,0.000},
{0.0,0.000,0.650,0.350,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.308,0.692,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.100,0.900,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.067,0.800,0.133,0.000,0.000,0.000},
{0.0,0.000,0.167,0.500,0.333,0.000,0.000,0.000},
{0.0,0.000,0.140,0.767,0.093,0.000,0.000,0.000},
{0.0,0.000,0.129,0.871,0.000,0.000,0.000,0.000},
{0.0,0.000,0.107,0.750,0.143,0.000,0.000,0.000},
{0.0,0.000,0.080,0.600,0.320,0.000,0.000,0.000},
{0.0,0.000,0.058,0.826,0.116,0.000,0.000,0.000},
{0.0,0.000,0.045,0.955,0.000,0.000,0.000,0.000},
{0.0,0.000,0.024,0.786,0.190,0.000,0.000,0.000},
{0.0,0.000,0.000,0.600,0.400,0.000,0.000,0.000},
{0.0,0.000,0.082,0.699,0.219,0.000,0.000,0.000},
{0.0,0.000,0.182,0.818,0.000,0.000,0.000,0.000},
{0.0,0.000,0.231,0.769,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.351,0.649,0.000,0.000,0.000,0.000},
{0.0,0.000,0.323,0.677,0.000,0.000,0.000,0.000},
{0.0,0.000,0.462,0.538,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.769,0.231,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.727,0.273,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.765,0.235,0.000,0.000,0.000},
{0.0,0.000,0.000,0.600,0.400,0.000,0.000,0.000},
{0.0,0.000,0.027,0.811,0.162,0.000,0.000,0.000},
{0.0,0.000,0.045,0.955,0.000,0.000,0.000,0.000},
{0.0,0.000,0.092,0.716,0.193,0.000,0.000,0.000},
{0.0,0.000,0.123,0.554,0.323,0.000,0.000,0.000},
{0.0,0.000,0.094,0.703,0.195,0.008,0.000,0.000},
{0.0,0.000,0.063,0.857,0.063,0.016,0.000,0.000},
{0.0,0.000,0.031,0.709,0.252,0.008,0.000,0.000},
{0.0,0.000,0.000,0.563,0.438,0.000,0.000,0.000},
{0.0,0.000,0.037,0.701,0.262,0.000,0.000,0.000},
{0.0,0.000,0.093,0.907,0.000,0.000,0.000,0.000},
{0.0,0.000,0.129,0.774,0.097,0.000,0.000,0.000},
{0.0,0.000,0.211,0.474,0.316,0.000,0.000,0.000},
{0.0,0.000,0.133,0.733,0.133,0.000,0.000,0.000},
{0.0,0.000,0.077,0.923,0.000,0.000,0.000,0.000},
{0.0,0.000,0.077,0.923,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.194,0.806,0.000,0.000,0.000,0.000},
{0.0,0.000,0.194,0.806,0.000,0.000,0.000,0.000},
{0.0,0.000,0.242,0.758,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.308,0.692,0.000,0.000,0.000,0.000},
{0.0,0.000,0.182,0.818,0.000,0.000,0.000,0.000},
{0.0,0.000,0.471,0.529,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.714,0.286,0.000,0.000,0.000},
{0.0,0.000,0.000,0.500,0.500,0.000,0.000,0.000},
{0.0,0.000,0.032,0.778,0.190,0.000,0.000,0.000},
{0.0,0.000,0.051,0.949,0.000,0.000,0.000,0.000},
{0.0,0.000,0.014,0.653,0.333,0.000,0.000,0.000},
{0.0,0.000,0.000,0.543,0.457,0.000,0.000,0.000},
{0.0,0.000,0.019,0.632,0.325,0.024,0.000,0.000},
{0.0,0.000,0.038,0.721,0.192,0.048,0.000,0.000},
{0.0,0.000,0.039,0.621,0.315,0.025,0.000,0.000},
{0.0,0.000,0.040,0.515,0.444,0.000,0.000,0.000},
{0.0,0.000,0.036,0.701,0.263,0.000,0.000,0.000},
{0.0,0.000,0.029,0.971,0.000,0.000,0.000,0.000},
{0.0,0.000,0.017,0.744,0.239,0.000,0.000,0.000},
{0.0,0.000,0.000,0.429,0.571,0.000,0.000,0.000},
{0.0,0.000,0.046,0.632,0.322,0.000,0.000,0.000},
{0.0,0.000,0.105,0.895,0.000,0.000,0.000,0.000},
{0.0,0.000,0.091,0.909,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.118,0.882,0.000,0.000,0.000,0.000},
{0.0,0.000,0.118,0.882,0.000,0.000,0.000,0.000},
{0.0,0.000,0.075,0.736,0.189,0.000,0.000,0.000},
{0.0,0.000,0.000,0.474,0.526,0.000,0.000,0.000},
{0.0,0.000,0.000,0.783,0.217,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.068,0.661,0.271,0.000,0.000,0.000},
{0.0,0.000,0.125,0.375,0.500,0.000,0.000,0.000},
{0.0,0.000,0.068,0.661,0.271,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.007,0.523,0.470,0.000,0.000,0.000},
{0.0,0.000,0.008,0.418,0.574,0.000,0.000,0.000},
{0.0,0.000,0.004,0.519,0.436,0.041,0.000,0.000},
{0.0,0.000,0.000,0.620,0.298,0.083,0.000,0.000},
{0.0,0.000,0.013,0.535,0.418,0.034,0.000,0.000},
{0.0,0.000,0.023,0.477,0.500,0.000,0.000,0.000},
{0.0,0.000,0.022,0.584,0.375,0.019,0.000,0.000},
{0.0,0.000,0.022,0.791,0.132,0.055,0.000,0.000},
{0.0,0.000,0.020,0.591,0.364,0.025,0.000,0.000},
{0.0,0.000,0.019,0.421,0.561,0.000,0.000,0.000},
{0.0,0.000,0.022,0.646,0.331,0.000,0.000,0.000},
{0.0,0.000,0.027,0.973,0.000,0.000,0.000,0.000},
{0.0,0.000,0.018,0.873,0.109,0.000,0.000,0.000},
{0.0,0.000,0.000,0.667,0.333,0.000,0.000,0.000},
{0.0,0.000,0.026,0.818,0.156,0.000,0.000,0.000},
{0.0,0.000,0.049,0.951,0.000,0.000,0.000,0.000},
{0.0,0.000,0.071,0.929,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.027,0.973,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.714,0.286,0.000,0.000,0.000},
{0.0,0.000,0.000,0.500,0.500,0.000,0.000,0.000},
{0.0,0.000,0.047,0.671,0.282,0.000,0.000,0.000},
{0.0,0.000,0.108,0.892,0.000,0.000,0.000,0.000},
{0.0,0.000,0.035,0.548,0.417,0.000,0.000,0.000},
{0.0,0.000,0.000,0.385,0.615,0.000,0.000,0.000},
{0.0,0.000,0.000,0.545,0.420,0.035,0.000,0.000},
{0.0,0.000,0.000,0.738,0.185,0.077,0.000,0.000},
{0.0,0.000,0.005,0.481,0.491,0.024,0.000,0.000},
{0.0,0.000,0.007,0.367,0.626,0.000,0.000,0.000},
{0.0,0.000,0.004,0.435,0.506,0.056,0.000,0.000},
{0.0,0.000,0.000,0.516,0.361,0.123,0.000,0.000},
{0.0,0.000,0.000,0.420,0.538,0.042,0.000,0.000},
{0.0,0.000,0.000,0.370,0.630,0.000,0.000,0.000},
{0.0,0.000,0.000,0.387,0.547,0.066,0.000,0.000},
{0.0,0.000,0.000,0.414,0.414,0.172,0.000,0.000},
{0.0,0.000,0.000,0.416,0.503,0.081,0.000,0.000},
{0.0,0.000,0.000,0.418,0.582,0.000,0.000,0.000},
{0.0,0.000,0.000,0.614,0.386,0.000,0.000,0.000},
{0.0,0.000,0.000,0.957,0.043,0.000,0.000,0.000},
{0.0,0.000,0.000,0.720,0.280,0.000,0.000,0.000},
{0.0,0.000,0.000,0.509,0.491,0.000,0.000,0.000},
{0.0,0.000,0.022,0.692,0.286,0.000,0.000,0.000},
{0.0,0.000,0.053,0.947,0.000,0.000,0.000,0.000},
{0.0,0.000,0.045,0.910,0.045,0.000,0.000,0.000},
{0.0,0.000,0.000,0.692,0.308,0.000,0.000,0.000},
{0.0,0.000,0.000,0.931,0.069,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.760,0.240,0.000,0.000,0.000},
{0.0,0.000,0.000,0.400,0.600,0.000,0.000,0.000},
{0.0,0.000,0.000,0.684,0.316,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.404,0.596,0.000,0.000,0.000},
{0.0,0.000,0.000,0.263,0.737,0.000,0.000,0.000},
{0.0,0.000,0.000,0.312,0.597,0.090,0.000,0.000},
{0.0,0.000,0.000,0.409,0.417,0.174,0.000,0.000},
{0.0,0.000,0.000,0.364,0.577,0.058,0.000,0.000},
{0.0,0.000,0.000,0.364,0.636,0.000,0.000,0.000},
{0.0,0.000,0.000,0.386,0.537,0.078,0.000,0.000},
{0.0,0.000,0.000,0.430,0.413,0.157,0.000,0.000},
{0.0,0.000,0.004,0.342,0.577,0.075,0.002,0.000},
{0.0,0.000,0.007,0.277,0.697,0.016,0.003,0.000},
{0.0,0.000,0.004,0.295,0.593,0.107,0.002,0.000},
{0.0,0.000,0.000,0.316,0.469,0.215,0.000,0.000},
{0.0,0.000,0.000,0.326,0.563,0.111,0.000,0.000},
{0.0,0.000,0.000,0.336,0.664,0.000,0.000,0.000},
{0.0,0.000,0.000,0.433,0.538,0.029,0.000,0.000},
{0.0,0.000,0.000,0.663,0.238,0.099,0.000,0.000},
{0.0,0.000,0.008,0.490,0.463,0.039,0.000,0.000},
{0.0,0.000,0.013,0.380,0.608,0.000,0.000,0.000},
{0.0,0.000,0.008,0.605,0.387,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.723,0.277,0.000,0.000,0.000},
{0.0,0.000,0.000,0.475,0.525,0.000,0.000,0.000},
{0.0,0.000,0.012,0.680,0.308,0.000,0.000,0.000},
{0.0,0.000,0.028,0.972,0.000,0.000,0.000,0.000},
{0.0,0.000,0.018,0.737,0.246,0.000,0.000,0.000},
{0.0,0.000,0.000,0.349,0.651,0.000,0.000,0.000},
{0.0,0.000,0.000,0.671,0.329,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.407,0.593,0.000,0.000,0.000},
{0.0,0.000,0.000,0.200,0.800,0.000,0.000,0.000},
{0.0,0.000,0.000,0.205,0.667,0.128,0.000,0.000},
{0.0,0.000,0.000,0.211,0.526,0.263,0.000,0.000},
{0.0,0.000,0.000,0.195,0.724,0.081,0.000,0.000},
{0.0,0.000,0.000,0.224,0.776,0.000,0.000,0.000},
{0.0,0.000,0.000,0.219,0.636,0.145,0.000,0.000},
{0.0,0.000,0.000,0.247,0.511,0.242,0.000,0.000},
{0.0,0.000,0.000,0.233,0.616,0.144,0.007,0.000},
{0.0,0.000,0.000,0.245,0.679,0.063,0.013,0.000},
{0.0,0.000,0.000,0.255,0.592,0.146,0.007,0.000},
{0.0,0.000,0.000,0.273,0.479,0.247,0.000,0.000},
{0.0,0.000,0.000,0.264,0.611,0.125,0.000,0.000},
{0.0,0.000,0.000,0.255,0.745,0.000,0.000,0.000},
{0.0,0.000,0.000,0.301,0.608,0.092,0.000,0.000},
{0.0,0.000,0.000,0.377,0.377,0.247,0.000,0.000},
{0.0,0.000,0.000,0.348,0.527,0.125,0.000,0.000},
{0.0,0.000,0.000,0.318,0.682,0.000,0.000,0.000},
{0.0,0.000,0.000,0.458,0.542,0.000,0.000,0.000},
{0.0,0.000,0.000,0.846,0.154,0.000,0.000,0.000},
{0.0,0.000,0.000,0.502,0.498,0.000,0.000,0.000},
{0.0,0.000,0.000,0.369,0.631,0.000,0.000,0.000},
{0.0,0.000,0.000,0.529,0.471,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.549,0.451,0.000,0.000,0.000},
{0.0,0.000,0.000,0.333,0.667,0.000,0.000,0.000},
{0.0,0.000,0.000,0.458,0.482,0.060,0.000,0.000},
{0.0,0.000,0.000,0.629,0.229,0.143,0.000,0.000},
{0.0,0.000,0.000,0.360,0.584,0.056,0.000,0.000},
{0.0,0.000,0.000,0.185,0.815,0.000,0.000,0.000},
{0.0,0.000,0.000,0.214,0.651,0.136,0.000,0.000},
{0.0,0.000,0.000,0.248,0.451,0.301,0.000,0.000},
{0.0,0.000,0.000,0.121,0.771,0.108,0.000,0.000},
{0.0,0.000,0.000,0.096,0.904,0.000,0.000,0.000},
{0.0,0.000,0.000,0.079,0.685,0.236,0.000,0.000},
{0.0,0.000,0.000,0.104,0.548,0.348,0.000,0.000},
{0.0,0.000,0.000,0.113,0.651,0.221,0.014,0.000},
{0.0,0.000,0.000,0.147,0.715,0.114,0.024,0.000},
{0.0,0.000,0.000,0.144,0.629,0.215,0.012,0.000},
{0.0,0.000,0.000,0.149,0.538,0.313,0.000,0.000},
{0.0,0.000,0.001,0.173,0.638,0.183,0.005,0.000},
{0.0,0.000,0.002,0.201,0.750,0.036,0.011,0.000},
{0.0,0.000,0.001,0.206,0.624,0.164,0.006,0.000},
{0.0,0.000,0.000,0.211,0.460,0.329,0.000,0.000},
{0.0,0.000,0.000,0.252,0.580,0.168,0.000,0.000},
{0.0,0.000,0.000,0.294,0.706,0.000,0.000,0.000},
{0.0,0.000,0.000,0.377,0.590,0.034,0.000,0.000},
{0.0,0.000,0.000,0.556,0.339,0.106,0.000,0.000},
{0.0,0.000,0.000,0.393,0.561,0.047,0.000,0.000},
{0.0,0.000,0.000,0.264,0.736,0.000,0.000,0.000},
{0.0,0.000,0.000,0.399,0.601,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.399,0.601,0.000,0.000,0.000},
{0.0,0.000,0.000,0.259,0.741,0.000,0.000,0.000},
{0.0,0.000,0.000,0.261,0.618,0.121,0.000,0.000},
{0.0,0.000,0.000,0.264,0.462,0.275,0.000,0.000},
{0.0,0.000,0.000,0.205,0.678,0.118,0.000,0.000},
{0.0,0.000,0.000,0.160,0.840,0.000,0.000,0.000},
{0.0,0.000,0.000,0.197,0.617,0.186,0.000,0.000},
{0.0,0.000,0.000,0.224,0.449,0.327,0.000,0.000},
{0.0,0.000,0.000,0.149,0.635,0.207,0.010,0.000},
{0.0,0.000,0.000,0.082,0.848,0.054,0.016,0.000},
{0.0,0.000,0.000,0.076,0.630,0.289,0.006,0.000},
{0.0,0.000,0.000,0.084,0.557,0.359,0.000,0.000},
{0.0,0.000,0.000,0.074,0.629,0.276,0.020,0.000},
{0.0,0.000,0.000,0.078,0.740,0.146,0.036,0.000},
{0.0,0.000,0.000,0.071,0.616,0.298,0.016,0.000},
{0.0,0.000,0.000,0.069,0.533,0.398,0.000,0.000},
{0.0,0.000,0.000,0.076,0.606,0.297,0.021,0.000},
{0.0,0.000,0.000,0.086,0.702,0.163,0.049,0.000},
{0.0,0.000,0.000,0.088,0.615,0.271,0.026,0.000},
{0.0,0.000,0.000,0.091,0.520,0.389,0.000,0.000},
{0.0,0.000,0.000,0.142,0.654,0.204,0.000,0.000},
{0.0,0.000,0.000,0.196,0.796,0.008,0.000,0.000},
{0.0,0.000,0.000,0.210,0.677,0.113,0.000,0.000},
{0.0,0.000,0.000,0.232,0.485,0.284,0.000,0.000},
{0.0,0.000,0.000,0.253,0.612,0.135,0.000,0.000},
{0.0,0.000,0.000,0.273,0.727,0.000,0.000,0.000},
{0.0,0.000,0.000,0.367,0.623,0.009,0.000,0.000},
{0.0,0.000,0.000,0.736,0.218,0.045,0.000,0.000},
{0.0,0.000,0.000,0.312,0.675,0.013,0.000,0.000},
{0.0,0.000,0.000,0.148,0.852,0.000,0.000,0.000},
{0.0,0.000,0.000,0.196,0.679,0.125,0.000,0.000},
{0.0,0.000,0.000,0.265,0.429,0.306,0.000,0.000},
{0.0,0.000,0.000,0.229,0.633,0.138,0.000,0.000},
{0.0,0.000,0.000,0.164,0.836,0.000,0.000,0.000},
{0.0,0.000,0.000,0.097,0.579,0.323,0.000,0.000},
{0.0,0.000,0.000,0.039,0.538,0.424,0.000,0.000},
{0.0,0.000,0.000,0.051,0.591,0.328,0.030,0.000},
{0.0,0.000,0.000,0.045,0.760,0.150,0.045,0.000},
{0.0,0.000,0.000,0.066,0.568,0.346,0.020,0.000},
{0.0,0.000,0.000,0.076,0.528,0.395,0.000,0.000},
{0.0,0.000,0.000,0.075,0.562,0.333,0.030,0.000},
{0.0,0.000,0.000,0.069,0.682,0.195,0.054,0.000},
{0.0,0.000,0.000,0.049,0.558,0.365,0.027,0.000},
{0.0,0.000,0.000,0.038,0.507,0.450,0.004,0.001},
{0.0,0.000,0.000,0.041,0.537,0.381,0.041,0.000},
{0.0,0.000,0.000,0.042,0.608,0.265,0.085,0.000},
{0.0,0.000,0.000,0.046,0.557,0.354,0.044,0.000},
{0.0,0.000,0.000,0.050,0.503,0.447,0.000,0.000},
{0.0,0.000,0.000,0.063,0.634,0.294,0.008,0.000},
{0.0,0.000,0.000,0.083,0.828,0.069,0.021,0.000},
{0.0,0.000,0.000,0.082,0.676,0.231,0.011,0.000},
{0.0,0.000,0.000,0.086,0.507,0.407,0.000,0.000},
{0.0,0.000,0.000,0.124,0.673,0.203,0.000,0.000},
{0.0,0.000,0.000,0.165,0.835,0.000,0.000,0.000},
{0.0,0.000,0.000,0.151,0.752,0.097,0.000,0.000},
{0.0,0.000,0.000,0.127,0.562,0.310,0.000,0.000},
{0.0,0.000,0.000,0.161,0.715,0.124,0.000,0.000},
{0.0,0.000,0.000,0.174,0.826,0.000,0.000,0.000},
{0.0,0.000,0.000,0.220,0.669,0.111,0.000,0.000},
{0.0,0.000,0.000,0.285,0.411,0.304,0.000,0.000},
{0.0,0.000,0.000,0.199,0.658,0.143,0.000,0.000},
{0.0,0.000,0.000,0.105,0.895,0.000,0.000,0.000},
{0.0,0.000,0.000,0.077,0.560,0.363,0.000,0.000},
{0.0,0.000,0.000,0.058,0.432,0.510,0.000,0.000},
{0.0,0.000,0.000,0.053,0.456,0.440,0.051,0.000},
{0.0,0.000,0.000,0.037,0.639,0.244,0.081,0.000},
{0.0,0.000,0.000,0.029,0.477,0.462,0.032,0.000},
{0.0,0.000,0.000,0.023,0.510,0.467,0.000,0.000},
{0.0,0.000,0.000,0.031,0.485,0.427,0.057,0.000},
{0.0,0.000,0.000,0.038,0.580,0.289,0.094,0.000},
{0.0,0.000,0.000,0.039,0.469,0.433,0.056,0.002},
{0.0,0.000,0.000,0.040,0.456,0.482,0.019,0.003},
{0.0,0.000,0.000,0.031,0.485,0.422,0.061,0.002},
{0.0,0.000,0.000,0.021,0.574,0.299,0.106,0.000},
{0.0,0.000,0.000,0.026,0.505,0.415,0.054,0.000},
{0.0,0.000,0.000,0.030,0.460,0.510,0.000,0.000},
{0.0,0.000,0.000,0.037,0.534,0.396,0.033,0.000},
{0.0,0.000,0.000,0.056,0.655,0.204,0.085,0.000},
{0.0,0.000,0.000,0.047,0.574,0.334,0.045,0.000},
{0.0,0.000,0.000,0.049,0.480,0.471,0.000,0.000},
{0.0,0.000,0.000,0.039,0.675,0.287,0.000,0.000},
{0.0,0.000,0.000,0.040,0.933,0.027,0.000,0.000},
{0.0,0.000,0.000,0.035,0.738,0.227,0.000,0.000},
{0.0,0.000,0.000,0.035,0.549,0.417,0.000,0.000},
{0.0,0.000,0.000,0.074,0.698,0.228,0.000,0.000},
{0.0,0.000,0.000,0.120,0.880,0.000,0.000,0.000},
{0.0,0.000,0.000,0.091,0.703,0.206,0.000,0.000},
{0.0,0.000,0.000,0.064,0.499,0.437,0.000,0.000},
{0.0,0.000,0.000,0.092,0.632,0.258,0.018,0.000},
{0.0,0.000,0.000,0.112,0.783,0.074,0.031,0.000},
{0.0,0.000,0.000,0.080,0.531,0.374,0.015,0.000},
{0.0,0.000,0.000,0.050,0.415,0.535,0.000,0.000},
{0.0,0.000,0.000,0.049,0.436,0.456,0.059,0.000},
{0.0,0.000,0.000,0.035,0.602,0.258,0.105,0.000},
{0.0,0.000,0.000,0.039,0.394,0.518,0.049,0.000},
{0.0,0.000,0.000,0.029,0.385,0.586,0.000,0.000},
{0.0,0.000,0.000,0.018,0.345,0.528,0.109,0.000},
{0.0,0.000,0.000,0.006,0.414,0.442,0.138,0.000},
{0.0,0.000,0.000,0.006,0.357,0.533,0.100,0.004},
{0.0,0.000,0.000,0.009,0.401,0.547,0.036,0.006},
{0.0,0.000,0.000,0.013,0.403,0.485,0.094,0.004},
{0.0,0.000,0.000,0.019,0.478,0.362,0.140,0.000},
{0.0,0.000,0.000,0.017,0.416,0.485,0.080,0.001},
{0.0,0.000,0.000,0.016,0.411,0.559,0.011,0.003},
{0.0,0.000,0.000,0.018,0.443,0.469,0.068,0.002},
{0.0,0.000,0.000,0.019,0.540,0.302,0.139,0.000},
{0.0,0.000,0.000,0.023,0.493,0.410,0.074,0.000},
{0.0,0.000,0.000,0.027,0.489,0.483,0.000,0.000},
{0.0,0.000,0.000,0.032,0.592,0.365,0.011,0.000},
{0.0,0.000,0.000,0.042,0.809,0.122,0.028,0.000},
{0.0,0.000,0.000,0.026,0.642,0.318,0.014,0.000},
{0.0,0.000,0.000,0.015,0.481,0.503,0.000,0.000},
{0.0,0.000,0.000,0.029,0.653,0.318,0.000,0.000},
{0.0,0.000,0.000,0.049,0.951,0.000,0.000,0.000},
{0.0,0.000,0.000,0.037,0.638,0.325,0.000,0.000},
{0.0,0.000,0.000,0.024,0.479,0.496,0.000,0.000},
{0.0,0.000,0.000,0.034,0.544,0.378,0.044,0.000},
{0.0,0.000,0.000,0.038,0.683,0.198,0.081,0.000},
{0.0,0.000,0.000,0.033,0.550,0.364,0.053,0.000},
{0.0,0.000,0.000,0.011,0.383,0.605,0.000,0.000},
{0.0,0.000,0.000,0.025,0.433,0.460,0.083,0.000},
{0.0,0.000,0.000,0.024,0.449,0.422,0.104,0.000},
{0.0,0.000,0.000,0.025,0.360,0.531,0.082,0.002},
{0.0,0.000,0.000,0.011,0.310,0.662,0.014,0.003},
{0.0,0.000,0.000,0.009,0.272,0.572,0.146,0.002},
{0.0,0.000,0.000,0.006,0.330,0.478,0.185,0.000},
{0.0,0.000,0.000,0.010,0.287,0.534,0.160,0.008},
{0.0,0.000,0.000,0.009,0.320,0.607,0.054,0.010},
{0.0,0.000,0.000,0.006,0.288,0.547,0.153,0.006},
{0.0,0.000,0.000,0.002,0.307,0.523,0.167,0.000},
{0.0,0.000,0.000,0.006,0.300,0.549,0.139,0.006},
{0.0,0.000,0.000,0.008,0.327,0.606,0.048,0.011},
{0.0,0.000,0.000,0.008,0.345,0.521,0.118,0.007},
{0.0,0.000,0.000,0.009,0.413,0.389,0.189,0.000},
{0.0,0.000,0.000,0.008,0.396,0.498,0.098,0.000},
{0.0,0.000,0.000,0.007,0.424,0.567,0.002,0.000},
{0.0,0.000,0.000,0.012,0.470,0.475,0.043,0.000},
{0.0,0.000,0.000,0.017,0.631,0.250,0.101,0.000},
{0.0,0.000,0.000,0.020,0.530,0.398,0.053,0.000},
{0.0,0.000,0.000,0.022,0.493,0.485,0.000,0.000},
{0.0,0.000,0.000,0.027,0.594,0.377,0.002,0.000},
{0.0,0.000,0.000,0.039,0.905,0.050,0.006,0.000},
{0.0,0.000,0.000,0.015,0.609,0.373,0.003,0.000},
{0.0,0.000,0.000,0.004,0.401,0.595,0.000,0.000},
{0.0,0.000,0.000,0.012,0.465,0.465,0.058,0.000},
{0.0,0.000,0.000,0.020,0.566,0.305,0.109,0.000},
{0.0,0.000,0.000,0.021,0.465,0.454,0.060,0.000},
{0.0,0.000,0.000,0.014,0.358,0.628,0.000,0.000},
{0.0,0.000,0.000,0.011,0.324,0.524,0.142,0.000},
{0.0,0.000,0.000,0.004,0.328,0.482,0.186,0.000},
{0.0,0.000,0.000,0.004,0.293,0.525,0.167,0.010},
{0.0,0.000,0.000,0.002,0.271,0.664,0.051,0.012},
{0.0,0.000,0.000,0.007,0.269,0.566,0.150,0.008},
{0.0,0.000,0.000,0.006,0.270,0.530,0.195,0.000},
{0.0,0.000,0.000,0.004,0.240,0.560,0.185,0.012},
{0.0,0.000,0.000,0.002,0.237,0.622,0.126,0.013},
{0.0,0.000,0.000,0.003,0.209,0.567,0.211,0.010},
{0.0,0.000,0.000,0.004,0.233,0.524,0.238,0.001},
{0.0,0.000,0.000,0.003,0.219,0.545,0.217,0.016},
{0.0,0.000,0.000,0.004,0.248,0.625,0.099,0.024},
{0.0,0.000,0.000,0.002,0.229,0.569,0.184,0.015},
{0.0,0.000,0.000,0.000,0.260,0.522,0.218,0.000},
{0.0,0.000,0.000,0.002,0.274,0.576,0.145,0.002},
{0.0,0.000,0.000,0.005,0.346,0.626,0.019,0.005},
{0.0,0.000,0.000,0.005,0.339,0.556,0.097,0.003},
{0.0,0.000,0.000,0.005,0.446,0.362,0.187,0.000},
{0.0,0.000,0.000,0.007,0.395,0.502,0.095,0.000},
{0.0,0.000,0.000,0.008,0.428,0.564,0.000,0.000},
{0.0,0.000,0.000,0.010,0.476,0.485,0.029,0.000},
{0.0,0.000,0.000,0.012,0.653,0.256,0.079,0.000},
{0.0,0.000,0.000,0.012,0.502,0.445,0.041,0.000},
{0.0,0.000,0.000,0.008,0.371,0.621,0.000,0.000},
{0.0,0.000,0.000,0.010,0.450,0.487,0.053,0.000},
{0.0,0.000,0.000,0.009,0.540,0.351,0.100,0.000},
{0.0,0.000,0.000,0.006,0.471,0.457,0.067,0.000},
{0.0,0.000,0.000,0.000,0.300,0.700,0.000,0.000},
{0.0,0.000,0.000,0.003,0.323,0.568,0.106,0.000},
{0.0,0.000,0.000,0.003,0.215,0.530,0.251,0.000},
{0.0,0.000,0.000,0.003,0.201,0.536,0.242,0.019},
{0.0,0.000,0.000,0.001,0.148,0.658,0.173,0.019},
{0.0,0.000,0.000,0.001,0.193,0.575,0.217,0.014},
{0.0,0.000,0.000,0.000,0.184,0.563,0.253,0.000},
{0.0,0.000,0.000,0.000,0.174,0.529,0.271,0.026},
{0.0,0.000,0.000,0.000,0.173,0.622,0.178,0.026},
{0.0,0.000,0.000,0.002,0.157,0.551,0.268,0.021},
{0.0,0.000,0.000,0.003,0.179,0.554,0.259,0.005},
{0.0,0.000,0.000,0.003,0.164,0.535,0.272,0.026},
{0.0,0.000,0.000,0.002,0.200,0.627,0.135,0.036},
{0.0,0.000,0.000,0.001,0.175,0.560,0.243,0.022},
{0.0,0.000,0.000,0.000,0.197,0.541,0.261,0.000},
{0.0,0.000,0.000,0.001,0.198,0.570,0.219,0.011},
{0.0,0.000,0.000,0.002,0.244,0.655,0.076,0.023},
{0.0,0.000,0.000,0.003,0.232,0.580,0.171,0.014},
{0.0,0.000,0.000,0.002,0.281,0.464,0.252,0.000},
{0.0,0.000,0.000,0.002,0.268,0.583,0.146,0.000},
{0.0,0.000,0.000,0.002,0.316,0.676,0.006,0.000},
{0.0,0.000,0.000,0.001,0.308,0.603,0.087,0.000},
{0.0,0.000,0.000,0.002,0.366,0.458,0.175,0.000},
{0.0,0.000,0.000,0.003,0.351,0.542,0.105,0.000},
{0.0,0.000,0.000,0.004,0.349,0.646,0.000,0.000},
{0.0,0.000,0.000,0.004,0.402,0.553,0.041,0.000},
{0.0,0.000,0.000,0.002,0.399,0.444,0.155,0.000},
{0.0,0.000,0.000,0.003,0.347,0.532,0.113,0.005},
{0.0,0.000,0.000,0.003,0.241,0.662,0.088,0.006},
{0.0,0.000,0.000,0.005,0.282,0.569,0.139,0.005},
{0.0,0.000,0.000,0.004,0.223,0.481,0.292,0.000},
{0.0,0.000,0.000,0.003,0.213,0.478,0.280,0.027},
{0.0,0.000,0.000,0.000,0.124,0.645,0.202,0.028},
{0.0,0.000,0.000,0.000,0.131,0.542,0.307,0.019},
{0.0,0.000,0.000,0.000,0.106,0.568,0.326,0.000},
{0.0,0.000,0.000,0.001,0.101,0.498,0.354,0.047},
{0.0,0.000,0.000,0.001,0.100,0.606,0.242,0.051},
{0.0,0.000,0.000,0.001,0.107,0.532,0.311,0.050},
{0.0,0.000,0.000,0.000,0.113,0.548,0.327,0.012},
{0.0,0.000,0.000,0.000,0.108,0.530,0.319,0.042},
{0.0,0.000,0.000,0.000,0.117,0.585,0.256,0.042},
{0.0,0.000,0.000,0.001,0.114,0.536,0.315,0.034},
{0.0,0.000,0.000,0.001,0.136,0.524,0.336,0.003},
{0.0,0.000,0.000,0.001,0.131,0.547,0.294,0.027},
{0.0,0.000,0.000,0.000,0.184,0.631,0.139,0.046},
{0.0,0.000,0.000,0.000,0.169,0.562,0.239,0.029},
{0.0,0.000,0.000,0.000,0.212,0.503,0.285,0.000},
{0.0,0.000,0.000,0.001,0.191,0.592,0.213,0.004},
{0.0,0.000,0.000,0.002,0.233,0.722,0.037,0.007},
{0.0,0.000,0.000,0.001,0.211,0.630,0.154,0.004},
{0.0,0.000,0.000,0.000,0.239,0.526,0.235,0.000},
{0.0,0.000,0.000,0.000,0.240,0.606,0.155,0.000},
{0.0,0.000,0.000,0.000,0.268,0.722,0.010,0.000},
{0.0,0.000,0.000,0.000,0.264,0.634,0.102,0.000},
{0.0,0.000,0.000,0.000,0.230,0.507,0.263,0.000},
{0.0,0.000,0.000,0.001,0.230,0.544,0.208,0.017},
{0.0,0.000,0.000,0.002,0.185,0.655,0.138,0.020},
{0.0,0.000,0.000,0.001,0.222,0.572,0.188,0.016},
{0.0,0.000,0.000,0.000,0.165,0.526,0.309,0.000},
{0.0,0.000,0.000,0.000,0.173,0.483,0.307,0.037},
{0.0,0.000,0.000,0.000,0.120,0.606,0.235,0.039},
{0.0,0.000,0.000,0.001,0.149,0.549,0.261,0.040},
{0.0,0.000,0.000,0.001,0.092,0.521,0.384,0.003},
{0.0,0.000,0.000,0.001,0.088,0.475,0.390,0.046},
{0.0,0.000,0.000,0.000,0.055,0.517,0.362,0.066},
{0.0,0.000,0.000,0.000,0.062,0.475,0.391,0.073},
{0.0,0.000,0.000,0.000,0.062,0.484,0.414,0.040},
{0.0,0.000,0.000,0.000,0.061,0.456,0.410,0.073},
{0.0,0.000,0.000,0.000,0.068,0.532,0.329,0.071},
{0.0,0.000,0.000,0.000,0.073,0.496,0.364,0.068},
{0.0,0.000,0.000,0.000,0.079,0.525,0.382,0.014},
{0.0,0.000,0.000,0.000,0.080,0.490,0.375,0.055},
{0.0,0.000,0.000,0.000,0.089,0.569,0.281,0.061},
{0.0,0.000,0.000,0.000,0.095,0.538,0.321,0.046},
{0.0,0.000,0.000,0.000,0.110,0.558,0.332,0.000},
{0.0,0.000,0.000,0.000,0.119,0.575,0.289,0.016},
{0.0,0.000,0.000,0.000,0.173,0.676,0.124,0.028},
{0.0,0.000,0.000,0.000,0.157,0.602,0.222,0.019},
{0.0,0.000,0.000,0.000,0.188,0.524,0.288,0.000},
{0.0,0.000,0.000,0.000,0.182,0.588,0.228,0.000},
{0.0,0.000,0.000,0.001,0.203,0.774,0.021,0.001},
{0.0,0.000,0.000,0.001,0.179,0.669,0.152,0.001},
{0.0,0.000,0.000,0.000,0.138,0.573,0.289,0.000},
{0.0,0.000,0.000,0.000,0.155,0.553,0.267,0.024},
{0.0,0.000,0.000,0.000,0.140,0.638,0.192,0.030},
{0.0,0.000,0.000,0.000,0.162,0.598,0.213,0.026},
{0.0,0.000,0.000,0.000,0.103,0.512,0.385,0.000},
{0.0,0.000,0.000,0.001,0.133,0.529,0.326,0.011},
{0.0,0.000,0.000,0.001,0.076,0.533,0.327,0.063},
{0.0,0.000,0.000,0.000,0.092,0.477,0.360,0.070},
{0.0,0.000,0.000,0.000,0.056,0.440,0.451,0.053},
{0.0,0.000,0.000,0.000,0.073,0.421,0.435,0.070},
{0.0,0.000,0.000,0.000,0.055,0.483,0.375,0.087},
{0.0,0.000,0.000,0.000,0.067,0.443,0.377,0.112},
{0.0,0.000,0.000,0.000,0.048,0.444,0.455,0.052},
{0.0,0.000,0.000,0.000,0.052,0.437,0.446,0.065},
{0.0,0.000,0.000,0.000,0.037,0.441,0.430,0.092},
{0.0,0.000,0.000,0.000,0.037,0.410,0.437,0.115},
{0.0,0.000,0.000,0.000,0.039,0.414,0.464,0.083},
{0.0,0.000,0.000,0.000,0.043,0.424,0.442,0.090},
{0.0,0.000,0.000,0.000,0.049,0.512,0.354,0.085},
{0.0,0.000,0.000,0.000,0.049,0.491,0.386,0.073},
{0.0,0.000,0.000,0.000,0.055,0.529,0.410,0.005},
{0.0,0.000,0.000,0.000,0.063,0.495,0.399,0.043},
{0.0,0.000,0.000,0.000,0.081,0.597,0.265,0.058},
{0.0,0.000,0.000,0.000,0.084,0.563,0.309,0.043},
{0.0,0.000,0.000,0.000,0.093,0.586,0.320,0.000},
{0.0,0.000,0.000,0.000,0.101,0.588,0.301,0.009},
{0.0,0.000,0.000,0.000,0.134,0.724,0.125,0.016},
{0.0,0.000,0.000,0.000,0.122,0.633,0.233,0.012},
{0.0,0.000,0.000,0.000,0.109,0.534,0.356,0.000},
{0.0,0.000,0.000,0.000,0.120,0.564,0.306,0.010},
{0.0,0.000,0.000,0.000,0.117,0.645,0.202,0.036},
{0.0,0.000,0.000,0.000,0.149,0.617,0.199,0.034},
{0.0,0.000,0.000,0.000,0.080,0.469,0.432,0.019},
{0.0,0.000,0.000,0.000,0.089,0.475,0.396,0.040},
{0.0,0.000,0.000,0.000,0.044,0.455,0.411,0.090},
{0.0,0.000,0.000,0.000,0.062,0.435,0.375,0.129},
{0.0,0.000,0.000,0.000,0.031,0.381,0.512,0.075},
{0.0,0.000,0.000,0.000,0.051,0.426,0.470,0.054},
{0.0,0.000,0.000,0.000,0.031,0.403,0.456,0.110},
{0.0,0.000,0.000,0.000,0.042,0.378,0.427,0.153},
{0.0,0.000,0.000,0.000,0.028,0.361,0.504,0.107},
{0.0,0.000,0.000,0.000,0.034,0.358,0.494,0.113},
{0.0,0.000,0.000,0.000,0.027,0.383,0.467,0.124},
{0.0,0.000,0.000,0.000,0.033,0.360,0.436,0.170},
{0.0,0.000,0.000,0.000,0.027,0.377,0.495,0.101},
{0.0,0.000,0.000,0.000,0.025,0.345,0.496,0.133},
{0.0,0.000,0.000,0.000,0.024,0.405,0.460,0.111},
{0.0,0.000,0.000,0.000,0.030,0.404,0.442,0.123},
{0.0,0.000,0.000,0.000,0.038,0.478,0.459,0.024},
{0.0,0.000,0.000,0.000,0.035,0.419,0.463,0.083},
{0.0,0.000,0.000,0.000,0.037,0.508,0.368,0.087},
{0.0,0.000,0.000,0.000,0.042,0.490,0.393,0.075},
{0.0,0.000,0.000,0.000,0.042,0.540,0.416,0.001},
{0.0,0.000,0.000,0.000,0.045,0.519,0.406,0.031},
{0.0,0.000,0.000,0.000,0.052,0.615,0.284,0.049},
{0.0,0.000,0.000,0.000,0.062,0.573,0.324,0.042},
{0.0,0.000,0.000,0.000,0.060,0.526,0.409,0.006},
{0.0,0.000,0.000,0.000,0.078,0.563,0.357,0.002},
{0.0,0.000,0.000,0.000,0.075,0.599,0.275,0.052},
{0.0,0.000,0.000,0.000,0.086,0.581,0.278,0.055},
{0.0,0.000,0.000,0.000,0.046,0.435,0.472,0.047},
{0.0,0.000,0.000,0.000,0.065,0.451,0.449,0.035},
{0.0,0.000,0.000,0.000,0.042,0.407,0.436,0.116},
{0.0,0.000,0.000,0.000,0.060,0.397,0.388,0.155},
{0.0,0.000,0.000,0.000,0.029,0.328,0.533,0.110},
{0.0,0.000,0.000,0.000,0.039,0.358,0.520,0.083},
{0.0,0.000,0.000,0.000,0.015,0.317,0.511,0.157},
{0.0,0.000,0.000,0.000,0.025,0.315,0.455,0.205},
{0.0,0.000,0.000,0.000,0.013,0.288,0.543,0.156},
{0.0,0.000,0.000,0.000,0.019,0.276,0.531,0.174},
{0.0,0.000,0.000,0.000,0.014,0.301,0.510,0.175},
{0.0,0.000,0.000,0.000,0.019,0.294,0.467,0.221},
{0.0,0.000,0.000,0.000,0.015,0.329,0.528,0.128},
{0.0,0.000,0.000,0.000,0.016,0.314,0.526,0.143},
{0.0,0.000,0.000,0.000,0.014,0.335,0.503,0.148},
{0.0,0.000,0.000,0.000,0.020,0.321,0.485,0.175},
{0.0,0.000,0.000,0.000,0.020,0.353,0.506,0.121},
{0.0,0.000,0.000,0.000,0.022,0.344,0.503,0.131},
{0.0,0.000,0.000,0.000,0.022,0.427,0.423,0.127},
{0.0,0.000,0.000,0.000,0.021,0.405,0.463,0.111},
{0.0,0.000,0.000,0.000,0.025,0.468,0.489,0.018},
{0.0,0.000,0.000,0.000,0.023,0.425,0.491,0.062},
{0.0,0.000,0.000,0.000,0.028,0.509,0.370,0.094},
{0.0,0.000,0.000,0.000,0.032,0.494,0.391,0.083},
{0.0,0.000,0.000,0.000,0.031,0.484,0.469,0.016},
{0.0,0.000,0.000,0.000,0.036,0.498,0.449,0.017},
{0.0,0.000,0.000,0.000,0.029,0.488,0.401,0.082},
{0.0,0.000,0.000,0.000,0.036,0.471,0.394,0.100},
{0.0,0.000,0.000,0.000,0.025,0.387,0.510,0.078},
{0.0,0.000,0.000,0.000,0.039,0.416,0.480,0.065},
{0.0,0.000,0.000,0.000,0.028,0.388,0.443,0.141},
{0.0,0.000,0.000,0.000,0.035,0.413,0.395,0.158},
{0.0,0.000,0.000,0.000,0.015,0.301,0.550,0.134},
{0.0,0.000,0.000,0.000,0.023,0.306,0.535,0.136},
{0.0,0.000,0.000,0.000,0.014,0.251,0.525,0.210},
{0.0,0.000,0.000,0.000,0.021,0.252,0.465,0.262},
{0.0,0.000,0.000,0.000,0.011,0.227,0.561,0.201},
{0.0,0.000,0.000,0.000,0.012,0.244,0.556,0.188},
{0.0,0.000,0.000,0.000,0.006,0.230,0.537,0.228},
{0.0,0.000,0.000,0.000,0.008,0.237,0.510,0.245},
{0.0,0.000,0.000,0.000,0.007,0.230,0.550,0.213},
{0.0,0.000,0.000,0.000,0.010,0.226,0.548,0.217},
{0.0,0.000,0.000,0.000,0.008,0.244,0.515,0.233},
{0.0,0.000,0.000,0.000,0.010,0.250,0.494,0.246},
{0.0,0.000,0.000,0.000,0.009,0.295,0.540,0.156},
{0.0,0.000,0.000,0.000,0.010,0.283,0.544,0.163},
{0.0,0.000,0.000,0.000,0.010,0.324,0.503,0.163},
{0.0,0.000,0.000,0.000,0.014,0.323,0.485,0.178},
{0.0,0.000,0.000,0.000,0.016,0.369,0.522,0.094},
{0.0,0.000,0.000,0.000,0.017,0.358,0.525,0.100},
{0.0,0.000,0.000,0.000,0.016,0.403,0.465,0.117},
{0.0,0.000,0.000,0.000,0.017,0.401,0.463,0.119},
{0.0,0.000,0.000,0.000,0.015,0.408,0.537,0.040},
{0.0,0.000,0.000,0.000,0.017,0.395,0.533,0.055},
{0.0,0.000,0.000,0.000,0.016,0.396,0.462,0.127},
{0.0,0.000,0.000,0.000,0.020,0.405,0.432,0.143},
{0.0,0.000,0.000,0.000,0.015,0.345,0.542,0.098},
{0.0,0.000,0.000,0.000,0.018,0.373,0.535,0.074},
{0.0,0.000,0.000,0.000,0.010,0.304,0.502,0.185},
{0.0,0.000,0.000,0.000,0.014,0.331,0.455,0.200},
{0.0,0.000,0.000,0.000,0.008,0.253,0.552,0.188},
{0.0,0.000,0.000,0.000,0.016,0.288,0.546,0.150},
{0.0,0.000,0.000,0.000,0.008,0.218,0.517,0.257},
{0.0,0.000,0.000,0.000,0.011,0.233,0.486,0.270},
{0.0,0.000,0.000,0.000,0.005,0.185,0.552,0.258},
{0.0,0.000,0.000,0.000,0.008,0.209,0.555,0.228},
{0.0,0.000,0.000,0.000,0.005,0.177,0.520,0.297},
{0.0,0.000,0.000,0.000,0.007,0.180,0.491,0.322},
{0.0,0.000,0.000,0.000,0.004,0.171,0.544,0.281},
{0.0,0.000,0.000,0.000,0.005,0.186,0.552,0.257},
{0.0,0.000,0.000,0.000,0.004,0.181,0.529,0.286},
{0.0,0.000,0.000,0.000,0.005,0.186,0.506,0.302},
{0.0,0.000,0.000,0.000,0.004,0.195,0.552,0.249},
{0.0,0.000,0.000,0.000,0.006,0.216,0.560,0.218},
{0.0,0.000,0.000,0.000,0.004,0.221,0.533,0.242},
{0.0,0.000,0.000,0.000,0.005,0.228,0.514,0.254},
{0.0,0.000,0.000,0.000,0.005,0.261,0.563,0.171},
{0.0,0.000,0.000,0.000,0.007,0.277,0.566,0.150},
{0.0,0.000,0.000,0.000,0.008,0.313,0.517,0.162},
{0.0,0.000,0.000,0.000,0.010,0.311,0.488,0.191},
{0.0,0.000,0.000,0.000,0.010,0.335,0.566,0.089},
{0.0,0.000,0.000,0.000,0.011,0.322,0.574,0.093},
{0.0,0.000,0.000,0.000,0.008,0.318,0.526,0.147},
{0.0,0.000,0.000,0.000,0.010,0.337,0.476,0.177},
{0.0,0.000,0.000,0.000,0.008,0.306,0.565,0.121},
{0.0,0.000,0.000,0.000,0.010,0.336,0.573,0.082},
{0.0,0.000,0.000,0.000,0.006,0.247,0.516,0.230},
{0.0,0.000,0.000,0.000,0.009,0.265,0.471,0.255},
{0.0,0.000,0.000,0.000,0.005,0.189,0.551,0.254},
{0.0,0.000,0.000,0.000,0.007,0.228,0.565,0.200},
{0.0,0.000,0.000,0.000,0.003,0.164,0.517,0.316},
{0.0,0.000,0.000,0.000,0.005,0.184,0.472,0.339},
{0.0,0.000,0.000,0.000,0.002,0.148,0.534,0.316},
{0.0,0.000,0.000,0.000,0.005,0.186,0.549,0.260},
{0.0,0.000,0.000,0.000,0.002,0.141,0.515,0.342},
{0.0,0.000,0.000,0.000,0.004,0.151,0.485,0.359},
{0.0,0.000,0.000,0.000,0.002,0.127,0.522,0.348},
{0.0,0.000,0.000,0.000,0.003,0.144,0.540,0.313},
{0.0,0.000,0.000,0.000,0.002,0.133,0.508,0.357},
{0.0,0.000,0.000,0.000,0.003,0.138,0.486,0.373},
{0.0,0.000,0.000,0.000,0.002,0.143,0.533,0.323},
{0.0,0.000,0.000,0.000,0.002,0.160,0.560,0.277},
{0.0,0.000,0.000,0.000,0.002,0.158,0.536,0.304},
{0.0,0.000,0.000,0.000,0.003,0.165,0.503,0.329},
{0.0,0.000,0.000,0.000,0.003,0.177,0.562,0.258},
{0.0,0.000,0.000,0.000,0.003,0.201,0.589,0.207},
{0.0,0.000,0.000,0.000,0.002,0.202,0.560,0.236},
{0.0,0.000,0.000,0.000,0.003,0.207,0.522,0.268},
{0.0,0.000,0.000,0.000,0.003,0.229,0.586,0.182},
{0.0,0.000,0.000,0.000,0.005,0.247,0.604,0.144},
{0.0,0.000,0.000,0.000,0.004,0.244,0.553,0.199},
{0.0,0.000,0.000,0.000,0.005,0.260,0.509,0.226},
{0.0,0.000,0.000,0.000,0.004,0.248,0.578,0.170},
{0.0,0.000,0.000,0.000,0.005,0.274,0.608,0.113},
{0.0,0.000,0.000,0.000,0.003,0.204,0.525,0.267},
{0.0,0.000,0.000,0.000,0.005,0.227,0.482,0.287},
{0.0,0.000,0.000,0.000,0.003,0.166,0.530,0.301},
{0.0,0.000,0.000,0.000,0.005,0.201,0.560,0.234},
{0.0,0.000,0.000,0.000,0.002,0.126,0.494,0.378},
{0.0,0.000,0.000,0.000,0.003,0.151,0.464,0.382},
{0.0,0.000,0.000,0.000,0.001,0.104,0.506,0.389},
{0.0,0.000,0.000,0.000,0.002,0.132,0.532,0.335},
{0.0,0.000,0.000,0.000,0.001,0.095,0.487,0.417},
{0.0,0.000,0.000,0.000,0.002,0.111,0.457,0.430},
{0.0,0.000,0.000,0.000,0.001,0.094,0.493,0.411},
{0.0,0.000,0.000,0.000,0.002,0.114,0.518,0.366},
{0.0,0.000,0.000,0.000,0.001,0.096,0.491,0.413},
{0.0,0.000,0.000,0.000,0.001,0.098,0.460,0.440},
};








void MSBSequenceSet::addMSBlastSymbols()
{
	if (config_->get_digest_type() == NON_SPECIFIC_DIGEST)
		return;

	if (config_->get_digest_type() == TRYPSIN_DIGEST)
	{
		vector<MSBSequence> newSeqs;
		size_t i;
		for (i=0; i<sequences_.size(); i++)
		{
			MSBSequence& currentSeq = sequences_[i];

			// add only B if needed
			const int firstSymbol = currentSeq.seq[0];
			if (currentSeq.nGap<1.0)
			{
				if (! currentSeq.markedAas[0] && firstSymbol != B_SYM)
				{
					currentSeq.pushToNSide(B_SYM, 0.5, true);
				}

				newSeqs.push_back(currentSeq);
			}
			else // add BXXX if needed
			{
				int arr_idx = (int)(2*currentSeq.nGap+0.5);
				if (arr_idx<1180)
				{
					const int x_syms[]={X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM};
					for (size_t g=7; g>=1; g--)
					{
						if (gapAaProbs[arr_idx][g]>0.075)
						{
							MSBSequence newSeq;
							newSeq=currentSeq;
							for (size_t k=0; k<g; k++)
								newSeq.pushToNSide(X_SYM, 0.05, true);

							newSeq.pushToNSide(B_SYM, 0.5, true);
							newSeqs.push_back(newSeq);
						}
					}
				}
				else
					newSeqs.push_back(currentSeq);
			}
		}
		sequences_ = newSeqs;
	}

	// add C-terminal side XXX R/K if needed
	const vector<int>& cTermAas = config_->get_c_term_digest_aas();
	const vector<mass_t>& aa2Mass = config_->get_aa2mass();
	if (cTermAas.size()>0)
	{
		vector<MSBSequence> newSeqs = sequences_;
		int i;
		for (i=0; i<sequences_.size(); i++)
		{
			MSBSequence& currentSeq = sequences_[i];
			for (size_t j=0; j<cTermAas.size(); j++)
			{
				const mass_t cTermAaMass = aa2Mass[cTermAas[j]];
				if (currentSeq.cGap < cTermAaMass + 56.0)
					continue;

				const size_t arr_idx = static_cast<size_t>(2*(currentSeq.cGap - cTermAaMass)  +0.5);
				if (arr_idx>1180)
					continue;
		
				const int x_syms[]={X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM};
				for (size_t g=7; g>=1; g--)
				{
					if (gapAaProbs[arr_idx][g]>0.075)
					{
						MSBSequence newSeq;
						newSeq=currentSeq;
						for (size_t k=0; k<g; k++)
							newSeq.pushToCSide(X_SYM, 0.05, true);

						newSeq.pushToCSide(cTermAas[j], 0.5, true);
						newSeqs.push_back(newSeq);
					}
				}
			}
		}
		sequences_ = newSeqs;
	}

	// recompute scores
	for (size_t i=0; i<sequences_.size(); i++)
		sequences_[i].calcExpectedMSBScore(config_);
}



void MSBSequenceSet::generateDoubleAndSingleVariants()
{
	// first make single -> double
	for (size_t i=0; i<sequences_.size(); i++)
	{
		const size_t currentSeqSize = sequences_[i].seq.size();
		for (size_t j=0; j<currentSeqSize; j++)
		{
			MSBSequence& currentSeq = sequences_[i];
			if (currentSeq.markedAas[j])
				continue;

			const int orgAa = currentSeq.seq[j];
			if ( orgAa != Arg && orgAa != Asn && orgAa != Gln && orgAa != Trp)
				continue;

			if ( orgAa == Arg && j>=currentSeq.seq.size()-1)
				continue;

			int aas[2];
			if ( orgAa == Arg)
			{
				aas[0]=Gly;
				aas[1]=Val;
			}
			else if (orgAa == Gln)
			{
				aas[0]=Gly;
				aas[1]=Ala;
			}
			else if (orgAa == Trp)
			{
				aas[0]=X_SYM;
				aas[1]=X_SYM;
			}
			else if (orgAa == Asn)
			{
				aas[0]=Gly;
				aas[1]=Gly;
			}


			MSBSequence newSeq;
			newSeq.cloneAndReplace(currentSeq, j, 1, aas, 2);
			
			size_t n;
			for (n=0; n<sequences_.size(); n++)
				if (sequences_[n] == newSeq)
					break;
			if (n<sequences_.size())
					continue;

			newSeq.markedAas[j]=true;
			newSeq.markedAas[j+1]=true;
			currentSeq.markedAas[j]=true;

			newSeq.calcExpectedMSBScore(config_);
			addToSet(newSeq);
		}

		// make double -> single aa
		
		for (size_t j=0; j<currentSeqSize-1; j++)
		{
			MSBSequence& currentSeq = sequences_[i];
			if (currentSeq.markedAas[j] || currentSeq.seq[j]== X_SYM)
				continue;

			int singleAa=-1;

			if (currentSeq.seq[j]==Gly && currentSeq.seq[j+1] == Val)
			{
				singleAa=Arg;
			}
			else if (currentSeq.seq[j]==Val && currentSeq.seq[j+1]==Ser)
			{
				singleAa=Trp;
			}
			else if (currentSeq.seq[j]==Ser && currentSeq.seq[j+1]==Val)
			{
				singleAa=Trp;
			}
			else if (currentSeq.seq[j]==Asp && currentSeq.seq[j+1]==Ala)
			{
				singleAa=Trp;
			}
			else if (currentSeq.seq[j]==Ala && currentSeq.seq[j+1]==Asp)
			{
				singleAa=Trp;
			}
			else if (currentSeq.seq[j]==Ala && currentSeq.seq[j+1]==Gly)
			{
				singleAa=Gln;
			}

			if (singleAa<0)
				continue;

			MSBSequence newSeq;
			newSeq.cloneAndReplace(currentSeq, j, 2, &singleAa, 1);
			currentSeq.markedAas[j]=true;
			currentSeq.markedAas[j+1]=true;
			newSeq.markedAas[j]=true;

			size_t n;
			for (n=0; n<sequences_.size(); n++)
				if (sequences_[n] == newSeq)
						break;
			if (n<sequences_.size())
				continue;
			
			newSeq.calcExpectedMSBScore(config_);
			addToSet(newSeq);
		}
	}
}




void MSBSequenceSet::makeSingleAaSubstitutions()
{
	for (size_t i=0; i<sequences_.size(); i++)
	{
		MSBSequence& currentSeq = sequences_[i];

		// consider replacing the first Q/K with a Z
		if (currentSeq.seq[0] == B_SYM && (currentSeq.seq[1] == Lys || currentSeq.seq[1] == Gln) )
		{
			if (config_->get_digest_type() != TRYPSIN_DIGEST || currentSeq.aaProbs[0]<0.5)
			{
				currentSeq.seq[1] = Z_SYM;
				currentSeq.markedAas[1]=true;
				currentSeq.calcExpectedMSBScore(config_);
			}
			continue;
		}
	}
}


void MSBSequenceSet::replaceLowProbAasWithGaps()
{
	const float gap_prob = 0.45;
	const float min_prob_for_aa = 0.05;
	const vector<float> & aa2mass = config_->get_aa2mass();
	
	const size_t numToCheck = sequences_.size();

	vector<MSBSequence> newSeqs;
	for (size_t sc=0; sc<numToCheck; sc++)
	{
		MSBSequence& currentSeq = sequences_[sc];
		if (currentSeq.seq.size()<5)
			continue;

		assert(currentSeq.seq.size() == currentSeq.aaProbs.size());
		assert(currentSeq.seq.size() == currentSeq.markedAas.size());

		const size_t lastIdx = currentSeq.seq.size();
		for (size_t i=0; i<lastIdx-2; i++)
		{

			if (currentSeq.aaProbs[i] > 0.67 || currentSeq.seq[i] > 900 || currentSeq.markedAas[i])
				continue;

			float prob = 1.0;
			float mass = 0.0;
			
			size_t j;
			for (j=i; j<lastIdx; j++)
			{
				if (currentSeq.aaProbs[j]>0.67 || currentSeq.seq[j] > 900 || currentSeq.markedAas[j])
				{
					break;
				}

				float p = currentSeq.aaProbs[j];
				if (p<0.03)
					p=0.03;

				prob *= p;
				mass += aa2mass[currentSeq.seq[j]];

				if (mass>400.0)
					break;
			}

		
			if (prob > gap_prob)
				continue;

			int aa_length = j-i;
			if (aa_length<2)
				continue;

			// don't want a gap endig the sequence
			if (i+aa_length >= lastIdx)
				continue;

			int arr_idx = (int)(2*mass+0.5);
			if (arr_idx>=1200)
				continue;

			int x_syms[]={X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM};
				
			for (int g=7; g>=1; g--)
			{
				if (gapAaProbs[arr_idx][g]>min_prob_for_aa)
				{		
					MSBSequence newSeq;
					newSeq.cloneAndReplace(currentSeq, i, aa_length,(int *)(&x_syms),g);

					// check that new seq doesn't have bad properties like
					// terminating with XXXXXXXX, too many XXX
					const size_t newSeqLength = newSeq.seq.size();
					if (newSeq.seq[newSeqLength-1] == X_SYM)
						continue;
						
					int num_X=0;
					int num_aa=0;
					int t;
					for (t=0; t<newSeqLength; t++)
						if (newSeq.seq[t] == X_SYM)
						{
							num_X++;
						}
						else
							num_aa++;
					// don't allow XXX prefix - makes no sense
					if (newSeq.seq[0] == X_SYM)
						break;

					if (num_aa<=4 || num_X>num_aa || num_X>7)
						break;

					newSeq.calcExpectedMSBScore(config_);
					newSeqs.push_back(newSeq);
				}
			}				
		}
	}

	for (size_t i=0; i<newSeqs.size(); i++)
		addToSet(newSeqs[i]);
}



/*! \fn convert_SeqPath_to_MSB_sequence_set
	\brief converts the de novo generated SeqPath into a set of MSB_query sequences

	The conversion includes creating gaps (XXX), adding prefix and suffix amino acids (B/Z),
	performing common AA replacements (GG->N W->.., Q->DA, ...).
*/
void MSBSequenceSet::convertSeqPathsToMSBSequences(const Config* config, vector<SeqPath>& paths, size_t maxNumSequences)
										
{
	config_ = config;
	for (size_t i=0; i<paths.size() && i<maxNumSequences; i++)
	{
		MSBSequence msb;

		msb.nGap = paths[i].n_term_mass;
		msb.cGap = paths[i].pm_with_19 - paths[i].c_term_mass;
		paths[i].get_amino_acids(msb.seq);
		const size_t numAA = msb.seq.size();
		msb.markedAas.resize(numAA, false);
		msb.aaProbs.resize(numAA,0.0);
		
		const vector<PathPos>& positions = paths[i].positions;
		paths[i].prm_ptr->calc_amino_acid_probs(paths[i],i);
		for (size_t j=0; j<numAA; j++)
		{
			msb.aaProbs[j]=paths[i].positions[j].edge_variant_prob;
			// convert double or triple edge probs
			if (! paths[i].positions[j].breakage)
			{
			//	assert(j>0 && msb.aaProbs[j-1]>=0.0);
				float sqrtProb = ( msb.aaProbs[j-1] > 0.0 ? sqrt(msb.aaProbs[j-1]) : 0.0);
				msb.aaProbs[j-1]=sqrtProb;
				msb.aaProbs[j]=sqrtProb;
			}
		}

		const SingleSpectrumHeader* header = paths[i].prm_ptr->get_source_spectrum()->getHeader();
		msb.rankScore = paths[i].rerank_score;
		msb.msbScore = msb.calcExpectedMSBScore(config);
		msb.fileIndex = header->getSpectraFileIndexInList();
		msb.mz		  = header->getMOverZ();
		msb.scanNumber = header->getScanNumber();

		addToSet(msb);
	}

	addMSBlastSymbols();

//	generateDoubleAndSingleVariants();

	makeSingleAaSubstitutions();

	replaceLowProbAasWithGaps();

	sort(sequences_.begin(), sequences_.end());
	
	if (sequences_.size()>maxNumSequences)
		sequences_.resize(maxNumSequences);
}




void MSBSequenceSet::createMSBFullLine(string& msbString)
{
	if (sequences_.size()<=0)
		return;

	ostringstream oss;

	// stats according to file of best sequences
	sort(sequences_.begin(), sequences_.end());
	
	oss << sequences_[0].fileIndex << "\t" << sequences_[0].scanNumber << "\t" 
		<< sequences_[0].mz << "\t" << sequences_.size() << "\t" << sequences_[0].msbScore << "\t";
	oss << sequences_[0].makeSeqString(config_);
	for (size_t i=1; i<sequences_.size(); i++)
		oss << "-" << sequences_[i].makeSeqString(config_);

	msbString = oss.str();
}


void MSBSequenceSet::addToSet(const MSBSequence& newSeq)
{
	size_t i;
	for (i=0; i<sequences_.size(); i++)
		if (sequences_[i] == newSeq)
			break;

	if (i<sequences_.size())
	{
		if (sequences_[i].msbScore<newSeq.msbScore)
			sequences_[i] = newSeq;
		return;
	}

	sequences_.push_back(newSeq);
}

void MSBSequenceSet::printSet() const
{
	cout << endl;
	for (size_t i=0; i<sequences_.size(); i++)
	{
		cout << i << "\t";
		sequences_[i].print(config_);
		cout << endl;
	}
}

